package cool.houge.pig.model;

import java.time.LocalDateTime;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

/**
 * 认证的客户端.
 *
 * @author KK (kzou227@qq.com)
 */
@Table("t_auth_client")
@Data
@Accessors(chain = true)
public class AuthClient {

  /** 主键. */
  private @Id Integer id;
  /** 客户端 ID. */
  private @Column("client_id") String clientId;
  /** 客户端密钥. */
  private @Column("client_secret") String clientSecret;
  /** 名称. */
  private @Column String name;
  /** 描述. */
  private @Column String description;
  /** 重定向的 URI. */
  private @Column("redirect_uri") String redirectUri;
  /** 拥有的授权类型. */
  private @Column("allow_grant_type") String allowGrantType;

  // ===================== 客户端支持的微信认证相关参数 =====================
  /** 微信认证的 AppId. */
  private @Column("weixin_app_id") String weixinAppId;
  /** 微信认证的 AppSecret. */
  private @Column("weixin_app_secret") String weixinAppSecret;

  /** 创建时间. */
  private @Column("create_time") LocalDateTime createTime;
  /** 更新时间. */
  private @Column("update_time") LocalDateTime updateTime;
}
